home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / IOInterface / timerDef.icl < prev    next >
Encoding:
Modula Implementation  |  1995-03-02  |  981 b   |  31 lines  |  [TEXT/3PRM]

  1. implementation module timerDef;
  2.  
  3.  
  4. //
  5. //    TimerDefinitions:
  6. //
  7.  
  8.  
  9. import    commonDef;
  10.  
  11.  
  12. ::    TimerDef        *s *io    =    Timer TimerId SelectState TimerInterval (TimerFunction s io);
  13. ::    TimerId                    :== Int;
  14. ::    TimerInterval            :== Int;
  15. ::    TimerFunction    *s *io    :== TimerState -> (s -> *(io -> (s, io)));
  16. ::    TimerState                :== Int;
  17.  
  18.  
  19. TimerDef_Attributes    :: !(TimerDef s io)
  20.     ->    (!TimerId, !SelectState, !TimerInterval, !TimerFunction s io);
  21. TimerDef_Attributes (Timer id ability interval f) = (id, ability, interval, f);
  22.  
  23. TimerDef_SetAbility :: !(TimerDef s io) !SelectState -> TimerDef s io;
  24. TimerDef_SetAbility (Timer id _ interval f) ability = Timer id ability interval f;
  25.  
  26. TimerDef_SetInterval :: !(TimerDef s io) !TimerInterval -> TimerDef s io;
  27. TimerDef_SetInterval (Timer id ability _ f) interval = Timer id ability interval f;
  28.  
  29. TimerDef_SetFunction :: !(TimerDef s io) !(TimerFunction s io) -> TimerDef s io;
  30. TimerDef_SetFunction (Timer id ability interval _) f = Timer id ability interval f;
  31.